package cn.edu.scau.cmi.ema.service;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.User;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface UserService {

	public User saveUser(User user);

	public Set<User> loadUsers();

	public Set<User> loadReferenceUsers(Set<User> users);

	public Set<User> loadUsersByIdSet(Set<Integer> usersId);

	public Map<String, ?> loadUserObjectReferencedSet(User user);

	public Map<String, ?> loadUserClassReferencedSet(User user);

	public void deleteUser(User user);

	public void deleteUsers(Set<Integer> deleteUsersId);

	public List<User> findAllUsers(Integer startResult, Integer maxRows);

	public User findUserByPrimaryKey(Integer id);

	public Integer countUsers();

	public Integer countUsers(CmiPagination page);

	public Integer countUsersByName(String queryName);

	public Integer countUsersByDetachedCriteria(CmiPagination page);

}
